home *** CD-ROM | disk | FTP | other *** search
- This is the documentation of:
-
- Program : The Guru 3.00 (November 8, 1994)
- Language : Assembly
- Author : Emiel Lensink
-
-
- DISCLAIMER:
-
- Although I (the author) have thoroughly tested 'The Guru' and have done
- everything possible to make the progra reliable, you use it AT YOUR OWN
- RISK! This software comes 'as is'; no warranties whatsoever. I am not
- responsible for any damage caused by using this program, either direct
- or indirect. If this program spontaneously low level formats your computer,
- crashes your harddisk, blows your nose, or melts your neighbours, I AM
- NOT RESPONSIBLE !!!
-
-
- DISTRIBUTION:
-
- 'The Guru' is freely redistributable. You may give it to your friends, your
- neighbours, to anybody you know and don't know. Spread the word AND the
- disk! 'The Guru' may be includesd in PD libraries, on coverdisks, on CD's
- etc. You may archive the files as long as they are unaltered after
- dearchieving. The only restriction I make is that the program MAY NOT BE
- SOLD FOR PROFIT, and that you keep all the files together. You should have
- the following files:
-
- TheGuru(.info) (drawer)
- Guru3.0(.info)
- Error.data(.info)
- Docs(.info) (drawer)
- Guru.guide(.info)
- Guru.doc(.info)
- Guru.iff(.info)
-
- General(.info) (drawer)
- SimErr(.info)
- Faults(.info)
- CrashZero(.info)
-
- MAGICons(.info) (drawer)
- Guru3.0.info
-
- Sources(.info) (drawer)
- Guru30.s(.info)
- Fault.s(.info)
- CrashZero.s(.info)
- SimErr.s(.info)
- Gadgets.i(.info)
- GuruLogo.i(.info)
-
- If your set is not complete I advise you not to use the program(s), because
- of the possibility of viruses etc.
-
-
- POSTWARE:
-
- This program is postware. This means that if you like it and use the
- program you should send me a postcard of your hometown or country.
-
- My address is:
- Emiel Lensink
- Notengaarde 33
- 3992JR Houten
- Holland
-
-
- GENERAL GURU KNOWLEDGE:
-
- Every amiga owner has seen a guru message or software error as they are
- called in kickstart 2.0 and above at least once in his/her life. That
- nasty red flashing box has a purpose; the two numbers in the box can tell
- you why your amiga crashed. The numbers take the following form:
-
- +----------------------------------------------------------------------+
- | Software failure. Press left mouse button to continue. |
- | |
- | Error: 12345678 Task: 87654321 |
- +----------------------------------------------------------------------+
-
- You see two numbers here, one behind error and one behind task.
- The one behind task is the address in memory where the crash occurred.
- You can use a monitor and/or dissassembler on that address to see the
- instruction(s) that caused the error. The number behind error is the
- real important one, it tells you precisely what error occurred.
-
- There are three basic types of guru-messages, both in recovery and
- deadend types.
-
- 1- PROCESSOR EXCEPTIONS:
- This is your 680x0 speaking to you. This occurs if the processor p.e.
- doesn't understand an instruction.
-
- 2- SPECIFIC ALERTS:
- These are error codes generated by a specific subsystem of the OS.,
- for example dos.library or graphics.library. This is the most frequent
- occuring kind of error. Some programs generate their own GURU alerts,
- but those are of course not included in the guru (cos I don't have 'em).
-
- 3- GENERAL ALERTS:
- The number consists of 4 parts (see diagram below) which together form
- a longword. (32 bits)
-
- +-+-------+--------+-----------------+
- |x|xxxxxxx|xxxxxxxx|xxxxxxxx xxxxxxxx|
- +-+-------+--------+-----------------+
- | | | | | | |
- Bit(s): 31 30 24 23 16 15 0
-
- The meaning of this number is as follows:
-
- Bit 31: This decides whether a number is a DEADEND or a RECOVERY
- alert. If bit 31 is not set, it's a RECOVERY alert, which
- means that you should be able to resume work after clicking
- the left mousebutton. This kind of alerts usually appears
- in an orange flashing box. If bit 31 is set, you have a
- DEADEND alert, which means that your computer will reboot
- and you lose all your unsaved work. This type of alerts
- usually shows up in a flashing red box.
- (Note: On kick 1.2/1.3 ALL alerts show up in a red box,
- and a recovery alert usually reboots your computer.)
-
-
- Bits 24-30: The amiga operating system is divided in diferrent subsystems
- like dos, intuition, graphics, etc.. Every subsystem has
- its own code. The number here tells you which part of the
- operating system caused the crash.
-
- Bits 16-23: This number indicates what the operating system couldn't do,
- causing it to crash. This usually indicates things like
- OpenLibrary, CreateLib etc...
-
- Bits 0-15 : This part tells you what couldn't be opened, loaded, checked
- etc... This indicates another subsystem.
-
-
- An example: dos.library couldn't open timer.device.
-
- The subsystem code for dos.library is $07000000, the errorcode for
- OpenDevice is $00040000, and the code for timer.device is $00008015.
- This is a rather serious error, so it'll probably a deadend alert, which
- means bit 31 will be set ($80000000). The final alert number will be:
-
- $80000000 ! $07000000 ! $00040000 ! $00008015 = $87048015.
-
- (ps: try TheGuru on this number, it really works !!)
-
-
- WHAT IS 'THE GURU':
-
- 'The Guru' is a simple database for guru numbers, and dos error numbers.
- It's mainly intended as a tool for (system friendly) programmers.
-
-
- WHY USE IT ?:
-
- Because it makes debugging your programs quite a lot easier, since after
- every crash the OS finds out what went wrong, and tries to tell you using
- a guru or software alert; just write down the number and enter it in 'The
- Guru' for a description of what went wrong. No more tedious searching
- in books or inconcise descriptions, 'The Guru' solves it all !!
-
- Beside that (and this is useful for EVERY amiga owner) 'The Guru' also
- offers help on dos error numbers. You'll probably have seen something like
- 'Couldn't load xxx, error 205'. Just enter this number in 'The Guru' and
- instantaneously you know that '205' means 'Object not found'.
-
- Happy bughunting!!
-
-
- BIG DUMMIES GUIDE:
-
- BUTTONS:
-
- Here's a quick description of the various buttons and slider in the 'The
- Guru' window:
-
- LEFT 'SET' : Activate the guru display. You can now change it's contents.
- RIGHT 'SET' : Activate the dos display. You can now change it's contents
-
- LEFT/RIGHT '<' and '>' : Change the cursor position in the active display.
- (The cursor is the brightest digit.)
-
- 'GURU' : Find the description of the current guru number.
- 'LAST' : Fetches the last guru number from the system.
-
- 'DOS ' : Find the description of the current dos error number.
- 'DEFAULT' : Sets everything to zero and shows the logo.
-
- 'ABOUT' : Shows very important information about the program.
- 'QUIT' : Guess...
-
- KEYS:
-
- 'G' : Pressing the 'g' key is equivalent to clicking the 'GURU'
- button.
- 'O' : Equivalent to the 'DOS' button.
- '<' and ','
- and '<-' : Equivalent to '<' for the active display.
- '>' and '.'
- and '->' : Equivalent to '>' for the active display.
-
- 'L' : Equivalent to the 'LAST' button.
- 'R' : Equivalent to the 'DEFAULT' button.
- 'U' : Equivalent to the 'ABOUT' button.
- 'Q' : Equivalent to the Quit button.
-
- '[TAB]' : Switches active displays
- '[1] to [9] and [A] to [F] : Same as the numeric buttons.
-
- '[RETURN]' : Gets the description for the active display.
-
- Just for an example try typing this string in 'The Guru' : 'r80000005'[ENTER]
-
-
- CUSTOMISING:
-
- 'The Guru' can be customized using tooltypes:
-
- AUTOFRONT :
- The window pops to front as soon as it's activated.
- (can be useful if the window is obscured by some other windows)
-
- TOPAZ :
- The Guru is fully font sensitive, and uses the default screen font for
- text and buttons. If you don't like this you can specify this tooltype
- to force The Guru into using Topaz 8.
-
- PUBSCREEN=Screenname :
- The Guru can open it's window on any public screen
-
- LANGUAGE=Filename :
- Different languages are supported through language files. The exact
- format of a language file is specified in the language section.
- If this tooltype is not specified, the default language (english)
- will be used.
-
- DATAFILE=Filename :
- Specifies the exact filename and optional path of the data file.
- If this tooltype is not specified, the default will be used, namely
- the file Error.data in the same directory as the The Guru program.
-
-
- LANGUAGES:
-
- The Guru uses language files for languages other than english.
- If you want to make your own language file, here's how:
-
- A language file is just a simple ascii file in the following format:
- (line numbers are for clarity, NOT for inclusion in a language file)
-
- 1 : Short description of the file
- 2 : Who did it
- 3 : (not used)
- 4 : Text for 'SET' button
- 5 : Text for 'GURU' button
- 6 : Text for 'LAST' button
- 7 : Text for 'DEFAULT' button
- 8 : Text for 'DOS' button
- 9 : Text for 'ABOUT' button
- 10: Text for 'QUIT' button
- 11: (not used)
- 12: Text shown if data-file not found (1 line!)
- 13: Response text to 12
- 14: Text shown if data-file corrupt (1 line!)
- 15: Response text to 14
- 16: Key shortcut for 'GURU' button (1 character, no Amiga-X or so)
- 17: Key shortcut for 'LAST' button
- 18: Key shortcut for 'DEFAULT' button
- 19: Key shortcut for 'DOS' button
- 20: Key shortcut for 'ABOUT' button
- 21: Key shortcut for 'PRINT' button
-
- NOTES: Keep the text for buttons SHORT.
-
- WARNING: Do not make a language file any longer or shorter than the specs
- above; it may lead to corrupt text output!
-
-
- SYSTEM REQUIREMENTS:
- 'The Guru' should run on any amiga with at least kickstart 1.2 .
- It has been successfully tested on the following configurations:
-
- A3000 : 2 Mb CHIP, 4 Mb FAST, Kickstart 2.04
- A3000 : 2 Mb CHIP, - Mb FAST, Kickstart 1.3
- A3000 : 2 Mb CHIP,14 Mb FAST, Kickstart 3.1
- A500+ : 2 Mb CHIP, - Mb FAST, Kickstart 2.04
- A500+ : 2 Mb CHIP, - Mb FAST, Kickstart 1.3
- A500 :0.5Mb CHIP,0.5Mb FAST, Kickstart 1.2
- A1200 : 2 Mb CHIP, - Mb FAST, Kickstart 3.0
-
- The program has also proven to be 100% enforcer and mungwall proof.
- (Note: 'The Guru' produces one enforcer hit when clicking the 'LAST'
- button. I don't know if there's a non system-private field to read
- for the last guru number; currently I just read a long from $100...)
-
-
- GURU HISTORY:
-
- version 1.0 (July 28,1993) : - Real crap version with bugs...
- - Released at SHN
-
- version 1.1 (Aug. 1,1993) : - Fixed all bugs (I guess)
- - Never really released
-
- version 2.0 (Oct. 31,1993) : This is a complete recode...
- - Better user interface
- - Better descriptions
-
- version 2.1 (Dec. 25,1993) : - Added customization by tooltypes in icon
-
- version 2.2 (Jan. ?,1994) : Fixed a bug - opened a font but didn't free it
- - Added zoom gadget in window
-
- version 2.21 (Jan. 6,1994) : - Window is now NOCAREREFRESH (=300% faster)
- - Added RMBTRAP, just looks nicer
-
- version 2.3 (Feb. 3,1994) : A lot of changes on this one...
- - Looks at screen palette for correct 3d
- buttons. (The buttons looked inversed on
- a kick 1.3 machine with 2.0 color palette)
- - Changed the logo, looks nicer
- - Looks good on a 2-color workbench too !
- (now all text is readable...)
-
- version 2.4 to 2.6 : - Miscellaneous fixes and changes
-
- version 2.7 (Apr. ?,1994) : - Added PUBSCREEN tooltype
- - Fixed a bug in window centering
-
- version 2.8 (Jul. 12,1994) : - Changed format of data files slightly
- - Improved searching routines somewhat
-
- version 2.9 (Sep. 22,1994) : - Changed gadget rendering (8 color Wb)
- - Fixed a bug in the data files
- - Second public release !!
-
- version 3.00 (Nov. 8,1994) : - Redesigned GUI
- - Fully font sensitive (even on 1.3)
- - Added a lot of new guru and dos errors
- and descriptions.
- - Localizable (?) (even on 1.3)
- - Loads of other little things
-
-
- BUG REPORTS:
-
- If you find a bug in The Guru please let me know.
- Write down EXACTLY what you were doing at the time the bug showed up,
- your configuration, and anything else that might be relevant.
- Also I'd like to know if you know about any guru-numbers not yet included
- in The Guru.
-
- My address is:
- Emiel Lensink
- Notengaarde 33
- 3992 JR Houten
- Holland
-
- I will not reply to any mail unless you include a self-addressed envelope
- and (if you don't live in Holland) an 'international reply coupon'. These
- can be optained at your local post office.
-
-
- THE FUTURE:
-
- In my opinion 'The Guru' is completely finished, and no further updates
- are planned. (except for some translated versions)
- If you have any suggestions however, I'll be glad to hear about them,
- and maybe they will eventually be implemented. (with your name in the docs,
- Oooooh)
-
- My address is in the 'bugs' section.
-
-
- THE SOURCE:
-
- Yes, it's included. It's included for instructional purposes only, the
- only person allowed to release updates or new versions of 'The Guru' is
- me. It probably won't even assemble, because I make extensive use of macro's
- and custom includes.
-
-
- TECHNICAL SPECIFICATIONS:
-
- Program name : The Guru 3.00
- Author : Emiel Lensink
- Language : 100% highspeed assembly
-
- Features : - 101% operating system friendly
- - runs on all amiga's
- - looks pretty nice
- - written by me
- - can be configured
- - fully font sensitive
- - localizable
- - smooth scrolling text window
- - fast
- - can open on any public screen
- - written for only the Amiga
- - only 17204 bytes big
-
- Add-ons : - multiple language files (to be released)
-
- 'The Guru' was developed using the following equipment & software:
- - A3000 , 2Mb CHIP, 14 Mb FAST, running kickstart 3.1
- - Piccolo graphics board (better than AGA)
- - Personal Paint
- - Hisoft Devpac 3.04
- - The Ultimate Graphics convertor (my own product, never finished)
- - Enforcer & mungwall
- - 3M & TDK floppy disks
-
-
- NOTE TO KICKSTART 1.3 USERS:
-
- 'The Guru' 3.00 is still 1.3 compatible, but this is merely a patch of
- some routines. Some features simply don't work, and I'm not going to
- fix it; you fix it: UPGRADE !!
-
- The features not available are:
- - Can't open on public screens (you don't even have them...)
- - No zoom button
- - Amigaguide docs may or may not work
- - No error requesters (you don't have EasyReqArgs...)
- - All tooltypes must end with '=' so 'AUTOFRONT' must be 'AUTOFRONT='
- - Not very thoroughly tested
-
- Now don't write any complaining letters or so because I definitely
- have stopped coding for 1.3 machines! Why don't you realise that you are
- holding back AMIGA development; 1.3 compatible programs look crippled
- when compared to their 2.0 only counterparts! Don't say '... but 1.3 does
- everything I want it to do...'. Yeah, right... Be nice to your Amiga,
- UPGRADE. 2.0 roms are available for next to nothing nowadays. UPGRADE.
-
-
- CRASHZERO:
-
- This is a very small program which causes your computer to crash with a
- 'Division by zero' alert. It was used during the development of 'The Guru'
- for test purposes. Now that 'The Guru' is finished, this program is
- completely useless.
-
-
- SIMERR:
-
- This program generates a recovery alert. After this program has run, you
- can click the 'LAST' button in 'The Guru' to retrieve the number shown in
- the recovery alert. This program was made for test purposes only.
-
-
- FAULTS:
-
- This is a small cli-only program. It lists all the dos error codes in
- your rom. It was made to find any undocumented dos error numbers.
-